package com.grammer.thread;

class LiftOff implements Runnable {
    protected int countDown = 10 ;//default
    private static int taskCount = 0 ;
    private final int id = taskCount ++ ;

    public LiftOff(){

    }

    public LiftOff(int countDown){
        this.countDown = countDown ;
    }

    public String getStatus(){
        return "#" + id +"("+ (countDown>0?countDown:"LiftOff")+"),";
    }


    @Override
    public void run() {
        while(countDown-->0){
            System.out.print(getStatus());
            Thread.yield();
        }
    }
}
public class MainThread {
    public static void main(String[] args){

        LiftOff launch =  new LiftOff();
        Thread t = new Thread(launch);
        t.start();
        System.out.println("waiting for liftOff");
    }
}
